package ausgabeUndDatenverwaltung;

import java.util.Vector;

import einlesenUndDatenverwaltung.*;

/**
 * 
 * Datentraegerklasse mit den entsprechenden Getter und Setter Methoden für die
 * Attribute. Berechnung der Kurse für die einzelnen PruefungsTag-Objekte ueber
 * die Klasse PruefungsPlanung
 * 
 * @author (Hendrik Hertel, Max Bogner)
 * @version (13.12.2013)
 */
public class PruefungsTag {
	// Eindeutig identifizierendes Merkmale, wird intern vergeben
	// private int pruefungsId;
	private static Vector<PruefungsTag> pruefungstage = new Vector<PruefungsTag>();
	private String Name;

	// speichert die Kursliste fuer den Pruefungstag
	private KursListe kursliste;

	/**
	 *  @author: max bogner
	 * Konstruktor für Objekte vom Typ PruefungsTag
	 */
	public PruefungsTag() {
		kursliste = new KursListe();
	}

	/**
	 * Methode fuer die Rueckgabe des Vectors Pruefungstag.
	 * 
	 * @return the pruefungstage
	 */
	public static Vector getPruefungstage() {
		return pruefungstage;
	}

	/**
	 * Methode zum setzen des Vectors Pruefungstag.
	 *  @author: max bogner
	 * @param pruefungstage
	 *            der zu setzende Pruefungstag
	 */
	public static void setPruefungstage(Vector pruefungstage) {
		PruefungsTag.pruefungstage = pruefungstage;
	}

	/**
	 * Rueckgabe der Variable Name.
	 *  @author: max bogner
	 * @return Name (String)
	 */
	public String getName() {
		return Name;
	}

	/**
	 * Methode zum Setzen des Namens.
	 *  @author: max bogner
	 * @param name
	 *            der zu setzende Name.
	 */
	public void setName(String name) {
		Name = name;
	}

	/**
	 * Fuegt einen Pruefungstag zu einer Pruefungstagliste hinzu.
	 *  @author: max bogner
	 * @param pt
	 *            (Pruefungstag) der Pruefungstag, der hinzugefuegt werden soll.
	 */
	public void addPruefungstagToPruefungstageListe(PruefungsTag pt) {
		pruefungstage.add(pt);
		System.out.println("ANZAHL PRUEFUNGSTAGE: " + pruefungstage.size());
	}

	/**
	 * ToString Methode erzeugt den Ausgabestring.
	 *  @author: max bogner
	 * @return str (String) der Ausgabestring
	 */
	public String toString() {
		// TODO Auto-generated method stub
		// return super.toString();
		String str = new String();
		str = str + "Pruefungstag: " + Name + "\n" + kursliste.toString();// +
																			// " kursliste: "
		// + kursliste.toString() +"\n";
		return str;
	}

	/**
	 * Gibt die Variable kursliste zurueck
	 *  @author: max bogner
	 * @return kursliste
	 */
	public KursListe getKursListe() {
		return kursliste;
	}

	/**
	 * Setzt die Variable kursliste
	 *  @author: max bogner
	 * @param Kursliste
	 *            , die gesetzt werden soll
	 */
	public void setKursListe(KursListe kursliste) {
		this.kursliste = kursliste;
	}

}
